Data storage system and method for testing the same

ABSTRACT

A method for testing data storage system. The data storage system contains a buffer area, a firmware and a storage area. The method including: selecting at least a product testing item, commanding the firmware to execute a starting process in order the storage system transferred from general working mode to testing mode, commanding the firmware to execute a testing process corresponding to the selected product testing item, the executed testing process generates a testing result, displaying the result; and commending the firmware to execute an ending process in order the storage returns to general working mode. Users use an application program to give commands to the firmware after requesting disc access service from the computer operation system. The buffer area can be a RAM (Random Access Memory). The testing result can be displayed on a computer monitor.

TECHNICAL FIELD

[0001] This invention relates generally to a method for testing a data storage system, in particular, to provide a method for testing a data storage system such as flash memory device, memory card and the access device thereof

BACKGROUND OF THE INVENTION

[0002] Data storage system contains data storage device and the access device thereof Traditional data storage devices include hard disc, floppy disc, and memory card. As capacity and utility of the flash memory and other non-volatile memory are improved and the prices thereof are reasonable, portable data storage devices containing flash memories are popular such as Compact Flash memory card (CF card), Smart Media Flash card (SM card), portable flash memory driver adaptable to computer USB port. The access devices include all kinds of readers for the data storage device such as CF card reader.

[0003] After the data storage devices and the access devices are manufactured. They have to be tested in order to control the quality of the products. The test includes writing parameters to the data storage devices, reading the parameters of the data storage devices, self-test, code setting, updating firmware, testing memory devices such as flash, low level formatting storage elements, reading storage elements statuses and so on.

[0004] A conventional method of testing the data storage system includes writing a new driver or modifying a standard driver, so test personnel can operate an application program under computer operating system to test the products through a test platform such as a card reader or other access devices. The access devices can be integrated hard disc integrating both the functions of card reader and data storage device. However writing a new driver or modifying a standard driver burden the cost of research and development. Besides modifying standard driver sometimes will cause computer system unstable. In addition, when the computer operating system is upgraded or the interfaces of the test platforms are no longer supported by the computer, the test will be interrupted. Therefore a method for testing data storage system that can reduce the cost of test and will not be interrupted by system upgrading is needed.

SUMMARY OF INVENTION

[0005] It is therefore primary objective of the present invention to provide a method of testing data storage system without writing a new driver or modifying a standard driver.

[0006] Another object of the invention is to provide a method of testing data storage system that will not be interrupted because of computer system upgrading.

[0007] The present invention, briefly summarized, in one embodiment discloses a method for testing data storage system. The data storage system contains a method for testing data storage system. The data storage system contains a buffer area, a firmware and a storage area. The method including: selecting at least a product testing item, commanding the firmware to execute a starting process in order the storage system transferred from general working mode to testing mode, commanding the firmware to execute a testing process corresponding to the selected product testing item, the executed testing process generates a testing result, displaying the result, and commending the firmware to execute an ending process in order the storage returns to general working mode. Users use an application program to give commands to the firmware after requesting disc access service from the computer operation system. The buffer area can be a RAM (Random Access Memory). The testing result can be displayed on a computer monitor.

BRIEF DESCRIPTION OF DRAWINGS

[0008] The invention will be more clearly understood after refer to the following detailed description read in conjunction with the drawings wherein

[0009]FIG. 1 is a functional block diagram of an embodiment of the present invention;

[0010]FIG. 2 is a flowchart showing a process of an embodiment;

[0011]FIG. 3 is a flowchart showing a process of step (b) of the embodiment;

[0012]FIG. 4 is a flowchart showing another process of step (b) of the embodiment;

[0013]FIG. 5 is a flowchart showing a process of step (c) of the embodiment;

[0014]FIG. 6 is a flowchart showing another process of step (c) of the embodiment;

[0015]FIG. 7 is a flowchart showing a further process of step (c) of the embodiment;

[0016]FIG. 8 is a flowchart showing still a further process of step (c) of the embodiment; and

[0017]FIG. 9 is a flowchart showing a process of step (d) of the embodiment.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

[0018]FIG. 1 illustrates a functional block diagram of the present invention. The embodiment mainly describes using an application program 11 in a computer 10 through an access device 20 to test the access device 20 as well as the data storage device 30. The data storage device 30 contains a controller 31, a first memory 32, a second memory 34 and a third memory 36. The first memory contains a firmware 33. The second memory 34 contains a buffer area 35. The third memory contains a memory area 37 for saving other data. The computer 1 contains an operation system 10 (O.S.), an application program 11 for giving commands to the firmware 33 in order the firmware 33 can execute processes and a driver 12 for driving the data storage device 30. The data storage device 30 can be a Compact Flash memory card (CF card). The access device 20 can be a Compact Flash card reader. The first memory can be a read only memory (ROM). The second memory 34 can be a non-volatile memory such as a SDRAM. The third memory 36 can be a flash memory. The first and second memories 32, 34 can individually or together integrate with the controller 31 as an integrated programmable control chip. To test a flash memory driver, the flash memory driver can be plugged into a USB port of the computer 1.

[0019] Since the Operation system 10 of the computer 1 can provide disc access service, the application program 11 can drive the access device 20 through the operation system 10 and give commands and save any data acceptable by the data storage device 30 to the data storage device 30. Therefore, users can write commands into the buffer area 35 and execute the commands to transfer the data storage device 30 mode from general working mode to testing mode. After the data storage device 30 enters testing mode, users can similarly write testing commands to the buffer area 35 and give commands to the firmware 33 to execute the commands to test the data storage device 30 or the access device 20. After all the testing jobs have been done, the user can use the application program 11 give an ending command to the data storage device 30 in order the data storage device returns to general working mode.

[0020] With reference to FIG. 1 and FIG. 2, FIG. 2 illustrate a flowchart of a process of an embodiment. The process contains: (a) selecting at least a product testing item through an application program 11; (b) commanding the firmware to execute a starting process through the application program 11 in order the storage system transferred from general working mode to testing mode; (c) commanding the firmware 33 to execute a testing process corresponding to the selected product testing item through the application program 11, the executed testing process generates' a testing result; and (d) commending the firmware 33 to execute an ending process through the application program 11 in order the data storage system returns to general working mode. The testing result can be displayed on a monitor. For example when the data storage system contains a CF card and a CF card reader, the testing result can display the results showing whether the products have met the standards.

[0021] A SM card doesn't contain the devices such as controller, firmware or buffer; area as in CF card. However these devices can be installed in SM card reader. The process is still the same. Accordingly, SM card and SM card reader can be similarly tested. A flash memory driver also doesn't contain the devices such as controller, firmware or buffer area as in CF card. User can use the devices in the computer 1, so the flash memory card can also be tested in the same way. The only differences are the locations of the devices are different.

[0022] With reference to FIG. 3, the process (b) in FIG. 2 contains the steps: (b1) writing a starting command data sequence to the buffer area 35 through the application program 11; (b2) commanding the firmware 33 to read and execute the starting command data sequence and setting the storage system status as “busy”; (b3) commanding the firmware 33 to record a status data sequence corresponding to an executing result of the starting command data sequence to the buffer area 35 and setting the storage system status as “ready”; (b4) reading the status data sequence through the application program 11 to judge whether the storage system successfully enter a testing mode; and (b5) determining whether the storage system have entered the testing mode, if so, continuing step (c), and if not, returning back to step (a).

[0023] When considering there maybe some important data saved in the buffer area 35 before and in case the important data may be lost, it's better to backup the data and after the test copy the data back to the buffer area 35. Therefore, with reference to FIG. 4, the alternative step (b′) contains: (b1′) reading a present data saved in the buffer area 35 through the application program 11; (b2′) backing up the present data; (b3′) writing a starting command data sequence to the buffer area through the application program 11; (b4′) commanding the firmware 33 to read and execute the starting command data sequence and setting the storage system status as “busy”; (b5′) commanding the firmware 33 to record a status data sequence corresponding to an executing result of the starting command data sequence to the buffer area 35 and setting the storage system status as “ready”; (b6′) reading the status data sequence through the application program 11 to judge whether the storage system successfully enter a testing mode; and (b7′) determining whether the storage system have entered the testing mode, if so, continuing step (c), and if not, returning back to step (a).

[0024] After the data storage system have entered testing mode and the status of the data storage system is “ready”, the step (c) and proceed. With reference to FIG. 5, the step (c) contains: (c1) writing a testing command data sequence corresponding to the product testing item trough the application program to the buffer area; (c2) commanding the firmware to read and execute the testing command data sequence and setting the storage system status as “busy”; (c3) commanding the firmware to record a status data sequence corresponding to an executing result of the testing command data sequence to the buffer area and setting the storage system status as “ready”; (c4) reading the status data sequence from the buffer area through the application program; and (c5) generating an information corresponding to the status data sequence to a computer. Thereafter, the status data can be displayed on the monitor, so users can know the testing results.

[0025] The testing command data sequence contains: commands regarding writing the references of access device 20, commands regarding reading references and status of access device 20, self testing commands, firmware updating commands, buffer area testing commands and other commands for verifying the quality of the data storage system.

[0026] If the testing item is more than one, another step (c6) can be added to the process in FIG. 5. The step c6 is: (c6) determining whether any other testing item is selected through the application program 11, if so, jump to step (c1), if not, executing step (d).

[0027] Regarding step (a) in FIG. 2, if the selected item includes writing a large amount of data to the data storage system such as edition, form and serial number and the volume exceed 256 bytes, the process (c) is preferably adapt the process in FIG. 7: (c1′) writing a testing command data sequence corresponding to the product testing item and other data trough the application program to the buffer area; (c2′) commanding the firmware to read and execute the testing command data sequence, saving the other data to the storage area and setting the storage system status as “busy”; (c3′) determining whether there is any data need to be saved to the storage area, if so, returning to step (2′), if not, executing step (4′); (c4′) commanding the firmware to record a status data sequence corresponding to an executing result of the testing command data sequence to the buffer area and setting the storage system status as “ready”; (c5′) reading the status data sequence from the buffer area through the application program; and (c6′) generating an information corresponding to the status data sequence to a computer.

[0028] Regarding step (a) in FIG. 2, if the selected item includes: reading a large amount of data from the data storage system such as card information structure (CIS) and the CIS volume exceeds 256 bytes, the process (c) is preferably adapt the process in FIG. 8: (c1″) writing a testing command data sequence corresponding to the product testing item trough the application program to the buffer area; (2″) commanding the firmware to read and execute the testing command data sequence and setting the storage system status as “busy”; (3″) commanding the firmware to record a status data sequence corresponding to an executing result of the testing command data sequence and other read data to the buffer area and setting the storage system status as “ready”; (4″) reading the status data sequence and the other read data from the buffer area through the application program; (5″) generating an information corresponding to the status data sequence to a computer; and (6″) determining whether there is any other data not read, if so jump to step (4″), if not executing step (d).

[0029] When all the testing items have been executed, then move forward to step (d). With reference to FIG. 9, the step (d) contains: (d1) writing an ending command data sequence to the buffer area; and (d2) commanding the firmware read and execute the ending command data sequence in order the storage system end the testing mode and return to general working mode.

[0030] One of the advantages is because the process of reading and writing data in or out of the data storage system are managed by the driver, the present invention can ignore how the computer access different type of data storage systems. Therefore all kinds of data storage device can be tested as long as the data storage device can communicate with the computer. For example the present invention can test both the memory cards with ISA and USB interface. Another advantage of the present invention is that the application program provides a user friendly interface for user to read or write data in or out of the data storage device such as updating BIOS, changing product name, change manufacture's name, password setting and so on)

[0031] Numerous characteristics and advantages of the invention have been set forth in the foregoing description, together with details of the structure and function of the invention, and the novel features thereof are pointed out in appended claims. The disclosure, however, is illustrated only, and changes may be made in detail, especially, in matters of shape, size and arrangement of parts, materials and the combination thereof within the principle of the invention, to the full extend indicated by the broad general meaning of the terms in which the appended claims are expressed. 

We claim:
 1. A method for testing data storage system, said data storage system comprises a buffer area, a firmware and a storage area, said method comprising: (a) selecting at least a product testing item through an application program; (b) commanding said firmware to execute a starting process through said application program in order said data storage system transferred from general working mode to testing mode; (c) commanding said firmware to execute a testing process corresponding to said selected product testing item through said application program, said executed testing process generates a testing result; and (d) commending said firmware to execute an ending process through said application program in order said data storage system returns to general working mode.
 2. The method for testing data storage system of claim 1, wherein said process (b) comprises: (b1) writing a starting command data sequence to said buffer area through said application program; (b2) commanding said firmware to read and execute said starting command data sequence and setting said storage system status as “busy”; (b3) commanding said firmware to record a status data sequence corresponding to an executing result of said starting command data sequence to said buffer area and setting said storage system status as “ready”; (b4) reading said status data sequence through said application program to judge whether said storage system successfully enter a testing mode; and (b5) determining whether said storage system have entered said testing mode, if so, continuing step (c), and if not, returning back to step (a).
 3. The method for testing data storage system of claim 1, wherein said process (b) comprises: (b1′) reading a present data saved in said buffer area through said application program; (b2′) backing up said present data; (b3′) writing a starting command data sequence to said buffer area through said application program; (b4′) commanding said firmware to read and execute said starting command data sequence and setting said storage system status as “busy”; (b5′) commanding said firmware to record a status data sequence corresponding to an executing result of said starting command data sequence to said buffer area and setting said storage system status as “ready”; (b6′) reading said status data sequence through said application program to judge whether said storage system successfully enter a testing mode; and (b7′) determining whether said storage system has entered said testing mode, if so, continuing step (c), and if not, returning back to step (a).
 4. The method for testing data storage system of claim 1, wherein said process (c) comprises: (c1) writing a testing command data sequence corresponding to said product testing item trough said application program to said buffer area; (c2) commanding said firmware to read and execute said testing command data sequence and setting said storage system status as “busy”; (c3) commanding said firmware to record a status data sequence corresponding to an executing result of said testing command data sequence to said buffer area and setting said storage system status as “ready”; (c4) reading said status data sequence from said buffer area through said application program; and (c5) generating an information corresponding to said status data sequence to a computer.
 5. The method for testing data storage system of claim 4 further comprising: (c6) determining whether any other testing item is selected through said application program 11, if so, jump to step (c1), if not, executing step (d).
 6. The method for testing data storage system of claim 1, wherein said step (c) comprises: (c1′) writing a testing command data sequence corresponding to said product testing item and other data trough said application program to said buffer area; (c2′) commanding said firmware to read and execute said testing command data sequence, saving said other data to said storage area and setting said storage system status as “busy”; (c3′) determining whether there is any data need to be saved to said storage area, if so, returning to step (c2′), if not, executing step (c4′); (c4′) commanding said firmware to record a status data sequence corresponding to an executing result of said testing command data sequence to said buffer area and setting said storage system status as “ready”; (c5′) reading said status data sequence from said buffer area through said application program; and (c6′) generating an information corresponding to said status data sequence to a computer.
 7. The method for testing data storage system of claim 1, wherein said process (c) comprises: (c1″) writing a testing command data sequence corresponding to said product testing item trough said application program to said buffer area; (2″) commanding said firmware to read and execute said testing command data sequence and setting said storage system status as “busy”; (3″) commanding said firmware to record a status data sequence corresponding to an executing result of said testing command data sequence and other read data to said buffer area and setting said storage system status as “ready”; (4″) reading said status data sequence and said other read data from said buffer area through said application program; (5″) generating an information corresponding to said status data sequence to a computer; and (6″) determining whether there is any other data not read, if so jump to step (4″), if not executing step (d).
 8. The method for testing data storage system of claim 1, wherein said process (d) comprises: (d1) writing an ending command data sequence to said buffer area; and (d2) commanding said firmware read and execute said ending command data sequence in order said storage system end said testing mode and return to general working mode.
 9. A method for testing data storage system, said data storage system comprises a buffer area, a firmware and a storage area, said method comprising: (a) selecting at least a product testing item through an application program; (b) commanding said firmware to execute a starting process through said application program in order said storage system transferred from general working mode to testing mode; (c) commanding said firmware to execute a testing process corresponding to said selected product testing item through said application program, said executed testing process generates a testing result; and (d) displaying said testing result on a monitor.
 10. A data storage system comprising: a buffer area containing a data sequence written from a computer; a memory area for recording a general data from said computer; and a firmware for reading and executing said data sequence and reading and writing said general data, an access device; wherein said computer through said access device, gives commands to said firmware to write said data sequence to aid buffer area and execute said data sequence in said firm ware and to write said general data to said memory area and read said general data from said memory area.
 11. The data storage system of claim 10 wherein said data sequence is a starting command data sequence.
 12. The data storage system of claim 10 wherein said data sequence is a testing command data sequence.
 13. The data storage system of claim 12 wherein an executing results of said testing data sequence is written to said buffer area, said firmware reads said executing results and sends a signal to said computer. 